<!doctype html>


<html>
<head>
  <link rel="shortcut icon" href="static/images/favicon.ico" type="image/x-icon">
  <title>History (Closure Library API Documentation - JavaScript)</title>
  <link rel="stylesheet" href="static/css/base.css">
  <link rel="stylesheet" href="static/css/doc.css">
  <link rel="stylesheet" href="static/css/sidetree.css">
  <link rel="stylesheet" href="static/css/prettify.css">

  <script>
     var _staticFilePath = "static/";
     var _typeTreeName = "goog";
     var _fileTreeName = "Source";
  </script>

  <script src="static/js/doc.js">
  </script>

  <script type="text/javascript" src="//www.google.com/jsapi"></script>
  <script type="text/javascript">
     google.load("visualization", "1", {packages:["orgchart"]});
     var _loadingVisualizations = true;
  </script>

  <meta charset="utf8">
</head>

<body onload="grokdoc.onLoad();">

<div id="header">
  <div class="g-section g-tpl-50-50 g-split">
    <div class="g-unit g-first">
      <a id="logo" href="index.html">Closure Library API Documentation</a>
    </div>

    <div class="g-unit">
      <div class="g-c">
        <strong>Go to class or file:</strong>
        <input type="text" id="ac">
      </div>
    </div>
  </div>
</div>





<div class="colmask rightmenu">
<div class="colleft">
    <div class="col1">
      <!-- Column 1 start -->

<div id="title">
        <span class="fn">History</span>
        <span>Extends</span>
        <span class="fn-name">
          <a href="class_goog_events_EventTarget.html">
          goog.events.EventTarget
</a>
        </span>
</div>

<div class="g-section g-tpl-75-25">
  <div class="g-unit g-first" id="description">
    A history management object. Can be instantiated in user-visible mode (uses
the address fragment to manage state) or in hidden mode. This object should
be created from a script in the document body before the document has
finished loading.

To store the hidden states in browsers other than IE, a hidden iframe is
used. It must point to a valid html page on the same domain (which can and
probably should be blank.)

Sample instantiation and usage:

<pre class="lang-js prettyprint">
// Instantiate history to use the address bar for state.
var h = new goog.History();
goog.events.listen(h, goog.history.EventType.NAVIGATE, navCallback);
h.setEnabled(true);

// Any changes to the location hash will call the following function.
function navCallback(e) {
  alert('Navigated to state "' + e.token + '"');
}

// The history token can also be set from code directly.
h.setToken('foo');
</pre>
  </div>


        <div class="g-unit" id="useful-links">
          <div class="title">Useful links</div>
          <ol>
            <li><a href="http://closure-library.googlecode.com/git/closure/goog/demos/history1.html">Demo</a></li>
            <li><a href="local_closure_goog_history_history.js.source.html"><span class='source-code-link'>Source Code</span></a></li>
            <li><a href="http://code.google.com/p/closure-library/source/browse/local/closure/goog/history/history.js">Git</a></li>
          </ol>
        </div>
</div>






<h2 class="g-first">Inheritance</h2>
<div class='gviz-org-chart-container goog-inline-block'>
<table class='gviz-org-chart' style='display:none'>
  <tr><td><span class="type"><a href="class_goog_Disposable.html">goog.Disposable</a></span></td><td></td></tr>
  <tr><td><span class="type"><a href="class_goog_events_EventTarget.html">goog.events.EventTarget</a></span></td><td><span class="type"><a href="class_goog_Disposable.html">goog.Disposable</a></span></td></tr>
  <tr><td>goog.History</td><td><span class="type"><a href="class_goog_events_EventTarget.html">goog.events.EventTarget</a></span></td></tr>
</table>
</div>
<div class='gviz-org-chart-container goog-inline-block'>
<table class='gviz-org-chart' style='display:none'>
</table>
</div>




  <h2>Constructor</h2>
      <div class="fn-constructor">
    goog.History(<span><span class="arg">opt_invisible</span>,&nbsp;<span class="arg">opt_blankPageUrl</span>,&nbsp;<span class="arg">opt_input</span>,&nbsp;<span class="arg">opt_iframe</span></span>)
  </div>

   <h3>Parameters</h3>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">opt_invisible</span>
        : <span class="type">boolean=</span>
        <div class="entryOverview">True to use hidden history states instead of
    the user-visible location hash.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_blankPageUrl</span>
        : <span class="type">string=</span>
        <div class="entryOverview">A URL to a blank page on the same server.
    Required if opt_invisible is true.  This URL is also used as the src
    for the iframe used to track history state in IE (if not specified the
    iframe is not given a src attribute).  Access is Denied error may
    occur in IE7 if the window's URL's scheme is https, and this URL is
    not specified.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_input</span>
        : <span class="type">HTMLInputElement=</span>
        <div class="entryOverview">The hidden input element to be used to
    store the history token.  If not provided, a hidden input element will
    be created using document.write.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_iframe</span>
        : <span class="type">HTMLIFrameElement=</span>
        <div class="entryOverview">The hidden iframe that will be used by
    IE for pushing history state changes, or by all browsers if opt_invisible
    is true. If not provided, a hidden iframe element will be created using
    document.write.</div>
     </td>
   </tr>
  </table>


<h2>Instance Methods</h2>


  <div class="legend">
        <span class="key publickey"></span><span>Public</span>
        <span class="key protectedkey"></span><span>Protected</span>
        <span class="key privatekey"></span><span>Private</span>
  </div>







<div>
       <div class="desc">
         Defined in
         <span class="fn-name">
            <a href="class_goog_History.html">
              goog.History
            </a>
         </span>
       </div>






<div class="section">
  <table class="horiz-rule">


     <tr class="even entry private">
       <td class="access"></td>






  <td>
    <a name="goog.History.prototype.check_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">check_<span class="args">(<span class="arg">isNavigation</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Checks the state of the document fragment and the iframe title to detect
navigation changes. If <code> goog.HistoryisOnHashChangeSupported()</code> is
<code> false</code>, then this runs approximately twenty times per second.

     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">isNavigation</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span>
        <div class="entryOverview">True if the event was initiated by a browser
    action, false if it was caused by a setToken call. See
    <code> goog.history.Event</code>.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line841">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.History.prototype.disposeInternal"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">disposeInternal<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line437">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>






  <td>
    <a name="goog.History.prototype.getIframeToken_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">getIframeToken_<span class="args">()</span>
        </span>
        &#8658; <span>?</span><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>
      </div>


     <div class="entryOverview">
       Return the current state string from the hidden iframe. On internet explorer,
this is stored as a string in the document body. Other browsers use the
location hash of the hidden iframe.

Older versions of webkit cannot access the iframe location, so always return
null in that case.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>?</span><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>&nbsp;
            The state token saved in the iframe (possibly null if the
    iframe has never loaded.).
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line785">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>






  <td>
    <a name="goog.History.prototype.getLocationFragment_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">getLocationFragment_<span class="args">(<span class="arg">win</span>)</span>
        </span>
        &#8658; <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>
      </div>


     <div class="entryOverview">
       Gets the location fragment for the current URL.  We don't use location.hash
directly as the browser helpfully urlDecodes the string for us which can
corrupt the tokens.  For example, if we want to store: label/%2Froot it would
be returned as label//root.

     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">win</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/DOM/window">Window</a></span>
        <div class="entryOverview">The window object to use.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>&nbsp;
            The fragment.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line624">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.History.prototype.getToken"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">getToken<span class="args">()</span>
        </span>
        &#8658; <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>&nbsp;
            The current token.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line577">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry protected">
       <td class="access"></td>






  <td>
    <a name="goog.History.prototype.onDocumentLoaded"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">onDocumentLoaded<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       Callback for the window onload event in IE. This is necessary to read the
value of the hidden input after restoring a history session. The value of
input elements is not viewable until after window onload for some reason (the
iframe state is similarly unavailable during the loading phase.)  If
setEnabled is called before the iframe has completed loading, the history
object will actually be enabled at this point.

     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line527">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>






  <td>
    <a name="goog.History.prototype.onHashChange_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">onHashChange_<span class="args">(<span class="arg">e</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Handles HTML5 onhashchange events on browsers where it is supported.
This is very similar to <code> #check_</code>, except that it is not executed
continuously. It is only used when
<code> goog.History.isOnHashChangeSupported()</code> is true.

     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">e</span>
        : <span class="type"><a href="class_goog_events_BrowserEvent.html">goog.events.BrowserEvent</a></span>
        <div class="entryOverview">The browser event.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line566">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>






  <td>
    <a name="goog.History.prototype.onShow_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">onShow_<span class="args">(<span class="arg">e</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Handler for the Gecko pageshow event. Restarts the history object so that the
correct state can be restored in the hash or iframe.

     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">e</span>
        : <span class="type"><a href="class_goog_events_BrowserEvent.html">goog.events.BrowserEvent</a></span>
        <div class="entryOverview">The browser event.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line547">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>






  <td>
    <a name="goog.History.prototype.operaDefibrillator_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">operaDefibrillator_<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       Opera cancels all outstanding timeouts and intervals after any rapid
succession of navigation events, including the interval used to detect
navigation events. This function restarts the interval so that navigation can
continue. Ideally, only events which would be likely to cause a navigation
change (mousedown and keydown) would be bound to this function. Since Opera
seems to ignore keydown events while the alt key is pressed (such as
alt-left or right arrow), this function is also bound to the much more
frequent mousemove event. This way, when the update loop freezes, it will
unstick itself as the user wiggles the mouse in frustration.

     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line916">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.History.prototype.replaceToken"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">replaceToken<span class="args">(<span class="arg">token</span>,&nbsp;<span class="arg">opt_title</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Replaces the current history state without affecting the rest of the history
stack.

     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">token</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>
        <div class="entryOverview">The history state identifier.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_title</span>
        : <span class="type">string=</span>
        <div class="entryOverview">Optional title used when setting the hidden iframe
    title in IE.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line610">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.History.prototype.setEnabled"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">setEnabled<span class="args">(<span class="arg">enable</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Starts or stops the History polling loop. When enabled, the History object
will immediately fire an event for the current location. The caller can set
up event listeners between the call to the constructor and the call to
setEnabled.

On IE, actual startup may be delayed until the iframe and hidden input
element have been loaded and can be polled. This behavior is transparent to
the caller.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">enable</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span>
        <div class="entryOverview">Whether to enable the history polling loop.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line456">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>






  <td>
    <a name="goog.History.prototype.setHash_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">setHash_<span class="args">(<span class="arg">token</span>,&nbsp;<span class="arg">opt_replace</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Sets or replaces the URL fragment. The token does not need to be URL encoded
according to the URL specification, though certain characters (like newline)
are automatically stripped.

If opt_replace is not set, non-IE browsers will append a new entry to the
history list. Setting the hash does not affect the history stack in IE
(unless there is a pre-existing named anchor for that hash.)

Older versions of Webkit cannot query the location hash, but it still can be
set. If we detect one of these versions, always replace instead of creating
new history entries.

window.location.replace replaces the current state from the history stack.
<a href="http://www.whatwg.org/specs/web-apps/current-work/#dom-location-replace">http://www.whatwg.org/specs/web-apps/current-work/#dom-location-replace</a>
<a href="http://www.whatwg.org/specs/web-apps/current-work/#replacement-enabled">http://www.whatwg.org/specs/web-apps/current-work/#replacement-enabled</a>


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">token</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>
        <div class="entryOverview">The new string to set.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_replace</span>
        : <span class="type">boolean=</span>
        <div class="entryOverview">Set to true to replace the current token
   without appending a history entry.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line695">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>






  <td>
    <a name="goog.History.prototype.setHistoryState_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">setHistoryState_<span class="args">(<span class="arg">token</span>,&nbsp;<span class="arg">replace</span>,&nbsp;<span class="arg">opt_title</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Sets the history state. When user visible states are used, the URL fragment
will be set to the provided token. Setting opt_replace to true will cause the
navigation to occur, but will replace the current history entry without
affecting the length of the stack.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">token</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>
        <div class="entryOverview">The history state identifier.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">replace</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span>
        <div class="entryOverview">Set to replace the current history entry instead of
   appending a new history state.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_title</span>
        : <span class="type">string=</span>
        <div class="entryOverview">Optional title used when setting the hidden iframe
    title in IE.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line644">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>






  <td>
    <a name="goog.History.prototype.setIframeToken_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">setIframeToken_<span class="args">(<span class="arg">token</span>,&nbsp;<span class="arg">opt_replace</span>,&nbsp;<span class="arg">opt_title</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Sets the hidden iframe state. On IE, this is accomplished by writing a new
document into the iframe. In Firefox, the iframe's URL fragment stores the
state instead.

Older versions of webkit cannot set the iframe, so ignore those browsers.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">token</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>
        <div class="entryOverview">The new string to set.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_replace</span>
        : <span class="type">boolean=</span>
        <div class="entryOverview">Set to true to replace the current iframe state
    without appending a new history entry.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_title</span>
        : <span class="type">string=</span>
        <div class="entryOverview">Optional title used when setting the hidden iframe
    title in IE.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line735">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>






  <td>
    <a name="goog.History.prototype.setLongerPolling_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">setLongerPolling_<span class="args">(<span class="arg">longerPolling</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Sets if the history oject should use longer intervals when polling.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">longerPolling</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span>
        <div class="entryOverview">Whether to enable longer polling.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line895">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.History.prototype.setToken"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">setToken<span class="args">(<span class="arg">token</span>,&nbsp;<span class="arg">opt_title</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Sets the history state. When user visible states are used, the URL fragment
will be set to the provided token.  Sometimes it is necessary to set the
history token before the document title has changed, in this case IE's
history drop down can be out of sync with the token.  To get around this
problem, the app can pass in a title to use with the hidden iframe.

     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">token</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>
        <div class="entryOverview">The history state identifier.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_title</span>
        : <span class="type">string=</span>
        <div class="entryOverview">Optional title used when setting the hidden iframe
    title in IE.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line598">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>






  <td>
    <a name="goog.History.prototype.update_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">update_<span class="args">(<span class="arg">token</span>,&nbsp;<span class="arg">isNavigation</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Updates the current history state with a given token. Called after a change
to the location or the iframe state is detected by poll_.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">token</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>
        <div class="entryOverview">The new history state.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">isNavigation</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span>
        <div class="entryOverview">True if the event was initiated by a browser
    action, false if it was caused by a setToken call. See
    <code> goog.history.Event</code>.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line872">code &raquo;</a>
  </td>
     </tr>


  </table>
</div>
</div>

<div>
       <div class="desc">
         Defined in
         <span class="fn-name">
            <a href="class_goog_events_EventTarget.html">
              goog.events.EventTarget
            </a>
         </span>
       </div>






<div class="section">
  <table class="horiz-rule">


     <tr class="even entry public">
       <td class="access"></td>






  <td class="deprecated">
    <a name="goog.events.EventTarget.prototype.addEventListener"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">addEventListener<span class="args">(<span class="arg">type</span>,&nbsp;<span class="arg"></span>,&nbsp;<span class="arg">opt_capture</span>,&nbsp;<span class="arg">opt_handlerScope</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       <span class="deprecatedMessage">Use <code> #listen</code> instead, when possible. Otherwise, use
    <code> goog.events.listen</code> if you are passing Object
    (instead of Function) as handler.</span>
       Adds an event listener to the event target. The same handler can only be
added once per the type. Even if you add the same handler multiple times
using the same type then it will only be called once when the event is
dispatched.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">type</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>
        <div class="entryOverview">The type of the event to listen for.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName"></span>
        : <span>?</span><span class="type">function(</span>)<span>:?</span><span>&nbsp;|&nbsp;</span><span>?</span><span class="type">{handleEvent:function(</span>)<span>:?</span>
        <div class="entryOverview"><span class='nodesc'>No description.</span></div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_capture</span>
        : <span class="type">boolean=</span>
        <div class="entryOverview">In DOM-compliant browsers, this determines
    whether the listener is fired during the capture or bubble phase
    of the event.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_handlerScope</span>
        : <span class="type">Object=</span>
        <div class="entryOverview">Object in whose scope to call
    the listener.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line153">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.assertInitialized_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">assertInitialized_<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       Asserts that the event target instance is initialized properly.

     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line332">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.dispatchEvent"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">dispatchEvent<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line184">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.disposeInternal"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">disposeInternal<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       Removes listeners from this object.  Classes that extend EventTarget may
need to override this method in order to remove references to DOM Elements
and additional listeners.

     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line210">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.fireListeners"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">fireListeners<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line264">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.getListener"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">getListener<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line302">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.getListeners"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">getListeners<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line296">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.getParentEventTarget"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">getParentEventTarget<span class="args">()</span>
        </span>
        &#8658; <span class="type"><a href="class_goog_events_EventTarget.html">goog.events.EventTarget</a></span>
      </div>


     <div class="entryOverview">
       Returns the parent of this event target to use for bubbling.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type"><a href="class_goog_events_EventTarget.html">goog.events.EventTarget</a></span>&nbsp;
            The parent EventTarget or null if
    there is no parent.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line119">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.hasListener"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">hasListener<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line310">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.listen"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">listen<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line219">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.listenOnce"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">listenOnce<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line229">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.removeAllListeners"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">removeAllListeners<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line252">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td class="deprecated">
    <a name="goog.events.EventTarget.prototype.removeEventListener"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">removeEventListener<span class="args">(<span class="arg">type</span>,&nbsp;<span class="arg"></span>,&nbsp;<span class="arg">opt_capture</span>,&nbsp;<span class="arg">opt_handlerScope</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       <span class="deprecatedMessage">Use <code> #unlisten</code> instead, when possible. Otherwise, use
    <code> goog.events.unlisten</code> if you are passing Object
    (instead of Function) as handler.</span>
       Removes an event listener from the event target. The handler must be the
same object as the one added. If the handler has not been added then
nothing is done.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">type</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>
        <div class="entryOverview">The type of the event to listen for.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName"></span>
        : <span>?</span><span class="type">function(</span>)<span>:?</span><span>&nbsp;|&nbsp;</span><span>?</span><span class="type">{handleEvent:function(</span>)<span>:?</span>
        <div class="entryOverview"><span class='nodesc'>No description.</span></div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_capture</span>
        : <span class="type">boolean=</span>
        <div class="entryOverview">In DOM-compliant browsers, this determines
    whether the listener is fired during the capture or bubble phase
    of the event.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_handlerScope</span>
        : <span class="type">Object=</span>
        <div class="entryOverview">Object in whose scope to call
    the listener.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line177">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.setParentEventTarget"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">setParentEventTarget<span class="args">(<span class="arg">parent</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Sets the parent of this event target to use for capture/bubble
mechanism.

     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">parent</span>
        : <span class="type"><a href="class_goog_events_EventTarget.html">goog.events.EventTarget</a></span>
        <div class="entryOverview">Parent listenable (null if none).</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line129">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.setTargetForTesting"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">setTargetForTesting<span class="args">(<span class="arg">target</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Sets the target to be used for <code> event.target</code> when firing
event. Mainly used for testing. For example, see
<code> goog.testing.events.mixinListenable</code>.

     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">target</span>
        : <span>!</span><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object">Object</a></span>
        <div class="entryOverview">The target.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line323">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.unlisten"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">unlisten<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line238">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.unlistenByKey"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">unlistenByKey<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line246">code &raquo;</a>
  </td>
     </tr>


  </table>
</div>
</div>

<div>
       <div class="desc">
         Defined in
         <span class="fn-name">
            <a href="class_goog_Disposable.html">
              goog.Disposable
            </a>
         </span>
       </div>






<div class="section">
  <table class="horiz-rule">


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.Disposable.prototype.addOnDisposeCallback"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">addOnDisposeCallback<span class="args">(<span class="arg">callback</span>,&nbsp;<span class="arg">opt_scope</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Invokes a callback function when this object is disposed. Callbacks are
invoked in the order in which they were added.

     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">callback</span>
        : <span class="type">function(this:T</span>)<span>:?</span>
        <div class="entryOverview">The callback function.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_scope</span>
        : <span class="type">T=</span>
        <div class="entryOverview">An optional scope to call the callback in.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_disposable_disposable.js.source.html#line211">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.Disposable.prototype.dispose"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">dispose<span class="args">()</span>
        </span>
        &#8658; <span class="type">void</span>
      </div>


     <div class="entryOverview">
       Disposes of the object. If the object hasn't already been disposed of, calls
<code> #disposeInternal</code>. Classes that extend <code> goog.Disposable</code> should
override <code> #disposeInternal</code> in order to delete references to COM
objects, DOM nodes, and other disposable objects. Reentrant.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">void</span>&nbsp;
            Nothing.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_disposable_disposable.js.source.html#line172">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry protected">
       <td class="access"></td>






  <td>
    <a name="goog.Disposable.prototype.disposeInternal"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">disposeInternal<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       Deletes or nulls out any references to COM objects, DOM nodes, or other
disposable objects. Classes that extend <code> goog.Disposable</code> should
override this method.
Not reentrant. To avoid calling it twice, it must only be called from the
subclass' <code> disposeInternal</code> method. Everywhere else the public
<code> dispose</code> method must be used.
For example:
<pre class="lang-js prettyprint">
  mypackage.MyClass = function() {
    goog.base(this);
    // Constructor logic specific to MyClass.
    ...
  };
  goog.inherits(mypackage.MyClass, goog.Disposable);

  mypackage.MyClass.prototype.disposeInternal = function() {
    // Dispose logic specific to MyClass.
    ...
    // Call superclass's disposeInternal at the end of the subclass's, like
    // in C++, to avoid hard-to-catch issues.
    goog.base(this, 'disposeInternal');
  };
</pre>
     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_disposable_disposable.js.source.html#line245">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td class="deprecated">
    <a name="goog.Disposable.prototype.getDisposed"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">getDisposed<span class="args">()</span>
        </span>
        &#8658; <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span>
      </div>


     <div class="entryOverview">
       <span class="deprecatedMessage">Use <code> #isDisposed</code> instead.</span>
       <span class='nodesc'>No description.</span>
     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span>&nbsp;
            Whether the object has been disposed of.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_disposable_disposable.js.source.html#line160">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.Disposable.prototype.isDisposed"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">isDisposed<span class="args">()</span>
        </span>
        &#8658; <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span>&nbsp;
            Whether the object has been disposed of.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_disposable_disposable.js.source.html#line151">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.Disposable.prototype.registerDisposable"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">registerDisposable<span class="args">(<span class="arg">disposable</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Associates a disposable object with this object so that they will be disposed
together.

     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">disposable</span>
        : <span class="type"><a href="interface_goog_disposable_IDisposable.html">goog.disposable.IDisposable</a></span>
        <div class="entryOverview">that will be disposed when
    this object is disposed.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_disposable_disposable.js.source.html#line199">code &raquo;</a>
  </td>
     </tr>


  </table>
</div>
</div>




<h2>Instance Properties</h2>







<div>
       <div class="desc">
         Defined in
         <span class="fn-name">
            <a href="class_goog_History.html">
              goog.History
            </a>
         </span>
       </div>






<div class="section">
  <table class="horiz-rule">


     <tr class="even entry public">
       <td class="access"></td>





  <a name="goog.History.prototype.constructor"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">constructor</span>
        : 
     </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line223">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry protected">
       <td class="access"></td>





  <a name="goog.History.prototype.documentLoaded"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">documentLoaded</span>
        : 
     </div>


     <div class="entryOverview">
       IE-only variable for determining if the document has loaded.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line340">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.History.prototype.enabled_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">enabled_</span>
        : 
     </div>


     <div class="entryOverview">
       Status of when the object is active and dispatching events.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line368">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.History.prototype.eventHandler_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">eventHandler_</span>
        : <span class="type"><a href="class_goog_events_EventHandler.html">goog.events.EventHandler</a></span>
     </div>


     <div class="entryOverview">
       An object to keep track of the history event listeners.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line293">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.History.prototype.hiddenInput_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">hiddenInput_</span>
        : 
     </div>


     <div class="entryOverview">
       An input element that stores the current iframe state. Used to restore
the state when returning to the page on non-IE browsers.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line247">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.History.prototype.iframeSrc_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">iframeSrc_</span>
        : 
     </div>


     <div class="entryOverview">
       The base URL for the hidden iframe. Must refer to a document in the
same domain as the main page.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line265">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.History.prototype.iframe_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">iframe_</span>
        : 
     </div>


     <div class="entryOverview">
       Internet Explorer uses a hidden iframe for all history changes. Other
browsers use the iframe only for pushing invisible states.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line316">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.History.prototype.lastToken_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">lastToken_</span>
        : 
     </div>


     <div class="entryOverview">
       The last token set by the history object, used to poll for changes.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line391">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.History.prototype.lockedToken_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">lockedToken_</span>
        : 
     </div>


     <div class="entryOverview">
       If not null, polling in the user invisible mode will be disabled until this
token is seen. This is used to prevent a race condition where the iframe
hangs temporarily while the location is changed.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line433">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.History.prototype.longerPolling_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">longerPolling_</span>
        : 
     </div>


     <div class="entryOverview">
       Whether the object is performing polling with longer intervals. This can
occur for instance when setting the location of the iframe when in invisible
mode and the server that is hosting the blank html page is down. In FF, this
will cause the location of the iframe to no longer be accessible, with
permision denied exceptions being thrown on every access of the history
token. When this occurs, the polling interval is elongated. This causes
exceptions to be thrown at a lesser rate while allowing for the history
object to resurrect itself when the html page becomes accessible.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line383">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.History.prototype.shouldEnable_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">shouldEnable_</span>
        : 
     </div>


     <div class="entryOverview">
       IE-only variable for storing whether the history object should be enabled
once the document finishes loading.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line348">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.History.prototype.timer_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">timer_</span>
        : <span class="type"><a href="class_goog_Timer.html">goog.Timer</a></span>
     </div>


     <div class="entryOverview">
       A timer for polling the current history state for changes.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line277">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.History.prototype.unsetIframe_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">unsetIframe_</span>
        : 
     </div>


     <div class="entryOverview">
       Whether the hidden iframe has had a document written to it yet in this
session.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line324">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.History.prototype.userVisible_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">userVisible_</span>
        : 
     </div>


     <div class="entryOverview">
       True if the state tokens are displayed in the address bar, false for hidden
history states.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line286">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.History.prototype.window_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">window_</span>
        : 
     </div>


     <div class="entryOverview">
       The window whose location contains the history token fragment. This is
the window that contains the hidden input. It's typically the top window.
It is not necessarily the same window that the js code is loaded in.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line256">Code &raquo;</a>
  </td>
     </tr>


  </table>
</div>
</div>

<div>
       <div class="desc">
         Defined in
         <span class="fn-name">
            <a href="class_goog_events_EventTarget.html">
              goog.events.EventTarget
            </a>
         </span>
       </div>






<div class="section">
  <table class="horiz-rule">


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.events.EventTarget.prototype.actualEventTarget_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">actualEventTarget_</span>
        : <span class="type"><a href="class_goog_events_EventTarget.html">goog.events.EventTarget</a></span>
     </div>


     <div class="entryOverview">
       The object to use for event.target. Useful when mixing in an
EventTarget to another object.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line84">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>





  <a name="goog.events.EventTarget.prototype.constructor"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">constructor</span>
        : 
     </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line70">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.events.EventTarget.prototype.eventTargetListeners_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">eventTargetListeners_</span>
        : <span class="type"><a href="class_goog_events_ListenerMap.html">goog.events.ListenerMap</a></span>
     </div>


     <div class="entryOverview">
       Maps of event type to an array of listeners.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line77">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.events.EventTarget.prototype.parentEventTarget_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">parentEventTarget_</span>
        : <span class="type"><a href="class_goog_events_EventTarget.html">goog.events.EventTarget</a></span>
     </div>


     <div class="entryOverview">
       Parent event target, used during event bubbling.

TODO(user): Change this to goog.events.Listenable. This
currently breaks people who expect getParentEventTarget to return
goog.events.EventTarget.


     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line109">Code &raquo;</a>
  </td>
     </tr>


  </table>
</div>
</div>

<div>
       <div class="desc">
         Defined in
         <span class="fn-name">
            <a href="class_goog_Disposable.html">
              goog.Disposable
            </a>
         </span>
       </div>






<div class="section">
  <table class="horiz-rule">


     <tr class="even entry public">
       <td class="access"></td>





  <a name="goog.Disposable.prototype.creationStack"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">creationStack</span>
        : 
     </div>


     <div class="entryOverview">
       If monitoring the goog.Disposable instances is enabled, stores the creation
stack trace of the Disposable instance.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_disposable_disposable.js.source.html#line144">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.Disposable.prototype.disposed_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">disposed_</span>
        : 
     </div>


     <div class="entryOverview">
       Whether the object has been disposed of.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_disposable_disposable.js.source.html#line128">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.Disposable.prototype.onDisposeCallbacks_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">onDisposeCallbacks_</span>
        : 
     </div>


     <div class="entryOverview">
       Callbacks to invoke when this object is disposed.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_disposable_disposable.js.source.html#line136">Code &raquo;</a>
  </td>
     </tr>


  </table>
</div>
</div>




<h2>Static Methods</h2>






<div class="section">
  <table class="horiz-rule">


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.History.isOnHashChangeSupported"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.History.</span><span class="entryName">isOnHashChangeSupported<span class="args">()</span>
        </span>
        &#8658; <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span>
      </div>


     <div class="entryOverview">
       Whether the browser supports HTML5 history management's onhashchange event.
<code> <a href="http://www.w3.org/TR/html5/history.html">http://www.w3.org/TR/html5/history.html</a></code>. IE 9 in compatibility mode
indicates that onhashchange is in window, but testing reveals the event
isn't actually fired.

     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span>&nbsp;
            Whether onhashchange is supported.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line401">code &raquo;</a>
  </td>
     </tr>


  </table>
</div>



<h2>Static Properties</h2>






<div class="section">
  <table class="horiz-rule">


     <tr class="even entry public">
       <td class="access"></td>





  <a name="goog.History.HASH_ALWAYS_REQUIRED"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.History.</span><span class="entryName">HASH_ALWAYS_REQUIRED</span>
        : 
     </div>


     <div class="entryOverview">
       Whether the browser always requires the hash to be present. Internet Explorer
before version 8 will reload the HTML page if the hash is omitted.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line423">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.History.IFRAME_SOURCE_TEMPLATE_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.History.</span><span class="entryName">IFRAME_SOURCE_TEMPLATE_</span>
        : 
     </div>


     <div class="entryOverview">
       Minimal HTML page used to populate the iframe in Internet Explorer. The title
is visible in the history dropdown menu, the iframe state is stored as the
body innerHTML.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line942">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.History.IFRAME_TEMPLATE_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.History.</span><span class="entryName">IFRAME_TEMPLATE_</span>
        : 
     </div>


     <div class="entryOverview">
       HTML template for an invisible iframe.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line950">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.History.INPUT_EVENTS_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.History.</span><span class="entryName">INPUT_EVENTS_</span>
        : 
     </div>


     <div class="entryOverview">
       List of user input event types registered in Opera to restart the history
timer (@see goog.History#operaDefibrillator_).

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line928">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.History.INPUT_TEMPLATE_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.History.</span><span class="entryName">INPUT_TEMPLATE_</span>
        : 
     </div>


     <div class="entryOverview">
       HTML template for an invisible named input element.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line959">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>





  <a name="goog.History.LEGACY_IE"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.History.</span><span class="entryName">LEGACY_IE</span>
        : 
     </div>


     <div class="entryOverview">
       Whether the current browser is Internet Explorer prior to version 8. Many IE
specific workarounds developed before version 8 are unnecessary in more
current versions.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line414">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.History.historyCount_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.History.</span><span class="entryName">historyCount_</span>
        : 
     </div>


     <div class="entryOverview">
       Counter for the number of goog.History objects that have been instantiated.
Used to create unique IDs.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line969">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.History.superClass_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.History.</span><span class="entryName">superClass_</span>
        : 
     </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line223">Code &raquo;</a>
  </td>
     </tr>


  </table>
</div>



<h2>Enumerations</h2>






<div class="section">
  <table class="horiz-rule">


     <tr class="even entry public">
       <td class="access"></td>





  <a name="goog.History.EventType"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.History.</span><span class="entryName">EventType</span>
        : 
     </div>


     <div class="entryOverview">
       Constant for the history change event type.

     </div>

     <div class="entryDetails">
       <div class="detailsSection">
          <b>Constants:</b>
          <table class="horiz-rule">
            <tbody>
           </tbody>
         </table>
       </div>
     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line987">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>





  <a name="goog.History.PollingType"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.History.</span><span class="entryName">PollingType</span>
        : 
     </div>


     <div class="entryOverview">
       Types of polling. The values are in ms of the polling interval.

     </div>

     <div class="entryDetails">
       <div class="detailsSection">
          <b>Constants:</b>
          <table class="horiz-rule">
            <tbody>
              <tr><td>
                <span class="entryName">
                  LONG
                </span>
                <div class="entryOverview">
                  <span class='nodesc'>No description.</span>
                </div>
             </td></tr>
              <tr><td>
                <span class="entryName">
                  NORMAL
                </span>
                <div class="entryOverview">
                  <span class='nodesc'>No description.</span>
                </div>
             </td></tr>
           </tbody>
         </table>
       </div>
     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_history_history.js.source.html#line976">Code &raquo;</a>
  </td>
     </tr>


  </table>
</div>
      <!-- Column 1 end -->
    </div>

        <div class="col2">
          <!-- Column 2 start -->
          <div class="col2-c">
            <h2 id="ref-head">Package History</h2>
            <div id="localView"></div>
          </div>

          <div class="col2-c">
            <h2 id="ref-head">Package Reference</h2>
            <div id="sideTypeIndex" rootPath="" current="History"></div>
          </div>
          <!-- Column 2 end -->
        </div>
</div>
</div>

</body>
</html>
